---
title: clsPayrollClassInfoCollection
summary: API reference for clsPayrollClassInfoCollection.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# clsPayrollClassInfoCollection

`clsPayrollClassInfoCollection` retrieves payroll class info rows for a policy period, selecting
between a PMS-era SQL statement and a WCIS-era SQL statement depending on whether a
`ClassCoverageSetID` is supplied via `Criteria`, and aggregates results by location for reporting
purposes ([Retrieve payroll classification detail](../../operations/retrieve-payroll-classification-detail.md)).

## Purpose
- Retrieves manual-classification/payroll detail rows for a policy period, branching between PMS-era ([SQL-VP-030](../../sql/SQL-030-retrieve_pms_sql.md)) and WCIS-era ([SQL-VP-031](../../sql/SQL-031-retrieve_wcis_sql.md)) SQL.
- Aggregates classification rows by location for reporting.

## Context
- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.Business.View.Policy` (embedded library reference)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `NewPayrollClassInfoCollection` | `Shared Function NewPayrollClassInfoCollection(DPI As IDataPortalInfo, Criteria As IBusinessCriteria) As clsPayrollClassInfoCollection` | Retrieves the payroll classification collection for a `ClassCoverageSetID` or `PremiumSetID`/date-range criteria. |
| `Item` | `Default ReadOnly Property Item(index As Integer) As clsPayrollClassInfo` | Returns the classification line at the given index. |
| `Count` | `ReadOnly Property Count As Integer` | Number of classification lines retrieved. |

## Inherited public members

Members in this section are inherited from `clsBusinessCollection(Of clsPayrollClassInfo)` in
`saif.framework.core`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `IsFirst` / `First()` / `FirstItem` | Traversal members | Navigate to and identify the first item in the collection.† | `saif.framework.core` — `clsBusinessCollection` |
| `GetEnumerator` | `Function GetEnumerator() As IEnumerator(Of clsPayrollClassInfo)` | Strongly-typed enumerator over `clsPayrollClassInfo` items.† | `saif.framework.core` — `clsBusinessCollection` |
| `ErrorCount` / `ErrorMessages` | Properties | Aggregated error count/messages across all member items.† | `saif.framework.core` — `clsBusinessCollection` |

## Behavioral notes
- `Criteria.RetrieveSQL` branches on whether `ClassCoverageSetID` is supplied ([Retrieve payroll classification detail](../../operations/retrieve-payroll-classification-detail.md)).

## Constraints and usage notes
- `AfterRetrieve` iterates the `clsResultSet` and creates one `clsPayrollClassInfo` per row via `Load`/`Fill`.

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\clsPayrollClassInfoCollection.vb`
